Display of videos based on referrers

ABSTRACT

A system and method for determining popularity of a video based in part on requests for the video received from a referrer, grouping videos whose popularity based on requests from referrers exceeds a threshold and displaying those videos in a channel or providing them in a web feed.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patent application Ser. No. 14/142,843, filed Dec. 28, 2013, which is a continuation application of U.S. patent application Ser. No. 12/690,901, filed Jan. 20, 2010. Each application is incorporated by reference herein in its entirety.

BACKGROUND Field of the Invention

The present invention relates generally to grouping videos for presentation to users of the Internet based on the website or websites from which other users watch the videos.

Description of the Background Art

Various web sites exist that provide hosted video content to viewers. One such site is the YOUTUBE™ site, provided by Google Inc. of Mountain View, Calif. Typically, videos are supplied to the video hosting website by content providers, and are then made available for viewing by the public at large. A third-party website can also embed a video player configured to play a video hosted at the video hosting site. When a user at the third-party website views the embedded video, the content is provided from the video hosting site and displayed to the user in the embedded player at the third-party website.

A common problem with conventional video hosting sites is that users find it difficult to discover videos that interest them. Or while, users may discover some interesting videos, there may be many more videos that they would like that that they do not discover.

SUMMARY

Embodiments of the present invention provide methods for grouping videos based on the referring websites where they are embedded. The popularity of an embedded video attributable to requests for the video via the embedded hyperlink is determined. Videos are then considered for being identified to users as associated with the referrer. Videos are grouped by genre of the videos or genre of the referrer. Additionally videos from a single referrer are grouped. The groupings of videos are displayed in channels at the video hosting site as well as available to users as a web feed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of the overall architecture of an embodiment of the present invention.

FIG. 2 illustrates a method for determining popularity of videos based on referrer volume.

FIG. 3 is a screenshot of an example video embedded at third-party website.

FIG. 4 is a screenshot of a channel of videos popular via embedding at a third-party website.

FIG. 5 is a screenshot displaying a page where users browse channels 505 dedicated to videos popular via embedding at a number of third-party websites in one embodiment.

FIG. 6 is a screenshot displaying a page where users browse channels 605 dedicated to videos popular via embedding at sports-themed 603 third-party websites.

FIG. 7 is a screen shot of videos popular via embedding at a number of third-party websites displayed on a page of other videos.

DETAILED DESCRIPTION

The display of a video via an embedded player is logged at the video hosting site as a view of the video and the website at which is the video is embedded is similarly logged. There are third-party websites that embed many videos from video hosting sites and are popular with users for viewing videos. There are videos that are viewed disproportionately more often when embedded at a third-party web site than before they are embedded. From this data it is evident that some websites, such as for example, blogs, drive up viewership of a video when that video is embedded at that website. Internet users look to these websites as reviewers of videos on video hosting sites and the users watch those videos that are “recommended” by the fact that they are embedded in one or more pages of a particular website.

Gathering all of the videos that have been popularized by a given-third-party site or by a number of third-party sites of similar genres and displaying those on a dedicated page at the video hosting site gives users one stop to see the videos recommended by those third-party site(s). Additionally, it gives the video hosting site an additional format for attracting users. This is beneficial, for example, when selling advertising revenue.

Architecture

FIG. 1 is a block diagram of the overall architecture of an embodiment of the present invention. The video hosting site 100 communicates, usually via the front end interface 102, with a website 140 and client 125 via the network 150, which is typically the Internet, but may also be any network, including but not limited to a LAN, a MAN, a WAN, a mobile, wired or wireless network, a private network, or a virtual private network, or any combination thereof. For simplicity only one website 140 and one client 125 are shown. In practice a very large numbers (e.g., millions) of clients 125 and websites 140, or as many as can be supported by the hardware and software implementation, can be in communication with the video hosting site 100 at any time. Other conventional features, such as firewalls, load balancers, authentication servers, application servers, failover servers, site management tools, and so forth are not shown so as to more clearly illustrate the features of the video hosting site 100. An example of a suitable video hosting site 100 is the YOUTUBE™ website, found at www.youtube.com. Other video hosting sites are known as well, and can be adapted to operate according to the teachings disclosed herein. The illustrated components of the video hosting site 100 can be implemented as single pieces of software or hardware or as multiple pieces of software or hardware. In general, functions described in one embodiment as being performed by one component, can also be performed by other components in other embodiments, or by a combination of components. Furthermore, functions described in one embodiment as being performed by components of the video hosting site 100 can also be performed by one or more clients 125 in other embodiments if appropriate.

The described servers can be implemented as server programs executing on server-class computers comprising a CPU, memory, network interface, peripheral interfaces, and other well known components. Of course, other types of computers can be used, and it is expected that as more powerful computers are developed in the future, they can be configured in accordance with the teachings here. The functionality implemented by any of the elements can be provided from computer program products that are stored in computer-readable storage mediums (e.g., RAM, hard disk, or optical/magnetic media) or by equivalent implementations in hardware and/or firmware.

The video hosting site 100 comprises a front end interface 102, video serving module 105, video database 110, popularity engine 115 and channel database 120. The front end interface 102 may be, for example, a web server providing web content including a user interface to client 125. The video serving module 105 retrieves videos from video database 110 and makes them available to client 125 and the website 140, for example via front end interface 102.

The video database 110 is used to store uploaded videos. Video database 110 stores video content and associated metadata provided by source of the video content, or by the operator of video hosting site 100, or by third parties. The videos have metadata associated with each file to describe characteristics of the video file or its content. For example, metadata stored may include a video ID, an ID of the user who provided the video, artist, video title, label, genre, time length, and geo-restrictions that can be used for data collection or content blocking on a geographic basis. Additionally, in the case of videos embedded on third-party websites, video database 110 stores indicia of the third-party website on which the video is embedded (the “referrer”) as well as how often the video is requested. In one example, the referrer is the complete uniform resource locator (“URL”) of the web page that embeds the video. Alternatively, the referrer is the domain name of the web site that embeds the video. Various other known ways to identify the embedding entity may also be used. In various embodiments, a genre of the referrer is also stored. In one embodiment the possible genres for videos and referrers are the same. The video database 110 also stores the metrics for video popularity based on referrer volume determined by the popularity engine 115.

The popularity engine 115 determines the popularity of videos attributable to a referrer and groups of videos based on the determined popularity. The groupings in turn are stored in the channel database 120. The operation of the popularity engine 115 is discussed in greater detail in reference to FIG. 2.

The client 125 includes a browser 127 with a player 130. The client 125 views videos from video hosting site 100 using software suited for that purpose. Typically that software is a browser 127 such as Microsoft Internet Explorer, Mozilla Firefox, Apple Safari, etc. Alternatively, client-specific or site-specific software may be used. The player 130 may be a video player 130 (e.g., Flash™ from Adobe Systems, Inc.), or any other player adapted for the video file formats used in the video hosting site 100. The player 130 may be supplied by the video hosting site's 100 website or by a third-party website 140.

From a third-party website, a user accesses videos at the video hosting site 100 indirectly, via a player that displays the video as embedded content 142 that is accessed via an embedded hyperlink in the third-party website 140. A third-party website 140 can embed the same video within multiple pages of the website 140.

A user can access a set of videos directly from the video hosting site 100 by visiting the site 100 and browsing a catalog of videos, conducting searches on keywords, reviewing play lists from other users or the system administrator (e.g., collections of videos forming channels), viewing videos associated with particular user group (e.g., communities), or by directly accessing the video resource, e.g., via a URL.

FIG. 2 illustrates a method for determining popularity of videos based on referrer volume. Popularity is determined at any suitable frequency, for example hourly, daily, or monthly.

The popularity engine 115 retrieves 205, from the video database 110 for embedded videos, data including the genre of the video, the date and time of requests for the video and whether or not the requests were from a third-party website (for example, as a result of a user clicking on an embedded hyper link or as a result of the third party web site making a request for the video without user intervention). After aggregating the data, aggregate views or aggregate views subject to a percent watched threshold are determined to identify videos whose total requests from all sources exceeds a threshold and the percentage of requests from a third-party website also exceeds a threshold. The threshold for total requests and the percentage may be different for different genres of videos. For example, the threshold for total requests could be 100,000 views for Comedy videos but 10,000 for How-To & Style videos. As another example, the request from a third party website must be more than 50% of all requests. Alternatively, videos whose popularity at the video hosting site 100 increases after being frequently requested at a third-party website are identified. In yet another alternative, videos whose absolute number of requests via a third-party website exceed a threshold amount are identified. In one embodiment, 100,000 requests in a day from a single referrer is an example of a threshold above which a video is identified and considered for inclusion in a grouping based on a referrer and identified to viewers as associated with the referrer.

The popularity engine determines the rate at which a video is being requested via each referrer, the referrer rate. Additionally, the popularity engine also determines the rate at which a video is being requested from the video hosting site 100 directly, the direct rate.

The referrer rate and direct rate are used to determine the percentage of requests coming from a referrer, the referrer percentage. The referrer percentage is, for any given video and any given referrer, the percentage of total requests for the video that come from that referrer. In one embodiment, responsive to the referrer percentage exceeding a threshold or each of the referrer percentage and the direct rate exceeding a threshold, the video is identified to viewers as associated with the referrer. The association with the referrer is displayed on the page for that video at the video hosting site 100.

In one embodiment, the popularity engine creates 220 a channel on the video hosting site 110 that displays 225 videos associated with a particular referrer. One example of a referrer is a blog. Many bloggers act as reviewers of videos, either professionally or as a hobby. The opinions of many bloggers are respected and sought out by viewers of videos, but not all bloggers are equally respected. Popularity engine 115 determines which bloggers are most influential in driving video views. Videos made popular by being embedded by particular referrers are collected and identified to visitors of video hosting site 100, allowing those visitors to browse a single site and discover which videos are receiving increased attention by referrers. Video hosting site 100 may continue to include videos in the collection even after the referrer has removed the video. For example, if a news site embeds a particular video relevant to that news cycle and the video receives a large number of views, then the video may be displayed to visitors of video hosting site 100 as one that is popular on the news site. As the news cycle progresses and the news site removes the video, the information about that video's popularity may continue to be displayed to visitors of video hosting site 100. This also allows for inclusion of the video, for example, in a “What Was Popular Yesterday” section of video hosting site 100. Additionally some users may not be interested in the non-video content of the third-party website and this allows them to view the videos without wading through the rest of the website. In order to determine which of the videos associated with a referrer to display on a channel, the videos are ranked and the top ranked videos are displayed on the channel. Rankings are determined by the popularity engine and criteria for ranking includes referrer percentage and total number of requests. Alternatively, the videos are ranked by number of requests to view the video within a given period of time such as for example, the last hour or the last 5 minutes.

The popularity engine 115 also groups videos based on the video's genre. Those videos within a genre to be included are chosen based on referrer percentage and optionally direct rate even if the videos are not all requested from the same referrer. An example is sports videos. While sports websites may be a primary source for popular sports videos, such videos could also surface at a general news website or a gossip blog, for example. The genre of a video is determined by retrieving the genre of the video from the video database 110.

Alternatively, videos from multiple referrers are grouped where the referrers share a genre but the videos do not necessarily share a genre. An example would be videos popular at a plurality of politics websites. While most videos at a politics website may be considered to be in the politics genre, some may not be. One example is displayed in FIG. 3. A top video at an example politics blog, politica.com, was a video about a monster shark which would not likely be classified as being a politics video.

In an alternative embodiment, the popularity engine 115 groups the most popular videos requested via a referrer regardless of genre and regardless of the identity of the individual referrer or referrers. This list of “Most Popular” videos is an alternative to a channel of videos that are most popular when analyzing only the direct rate as is often the case when a video hosting site 100 provides a list of most popular videos.

Channels dedicated to the various groupings are created at the video hosting site 100 and videos there are identified as being associated with a particular referrer and optionally other characteristics of the grouping, such as the genre of the videos in the grouping or the genre of the referrer or referrers represented in the grouping.

The popularity engine 115 analyzes newly stored requests for videos periodically and creates new channels and updates 215 existing ones. For example, the channels could be updated hourly, daily, or weekly.

The popularity engine 115 additionally determines the effect that referrers have on the life cycle of a video. There are referrers that contribute to the overall popularity of a video soon after it is available at the video hosting site 100. Videos embedded at such referrers would start, very shortly after appearing on the video hosting site 100, with very high referrer percentages and over time, the direct rate would increase dramatically. These are early adopters or spotters of what will be a popular video. A grouping can be created of the most popular videos at such a website. Once such a website is identified, the videos to be included in such a grouping would be determined by referrer rate and referrer percentage with little to no emphasis on direct rate. Once such a video's direct rate met a threshold requirement, the video would no longer be on the cutting edge.

There are also referrers that contribute to the popularity of a video after it has been available for some period of time. These referrers discover or “surface” “sleeper” videos.

FIG. 3 is a screenshot of an example video embedded at third-party website. The video 305 is from a video hosting site 100, www.youtube.com 310, embedded at a third-party website, politica.com 140. Thus, although the video is displayed when a user views the politica.com website, the video is actually hosted from video hosting site 100 and is displayed as a result of, for example, a hyperlink on the politica.com webpage that references the video host site 100.

The same video may be embedded on multiple pages of the third-party website. In the politica.com example, the video may be embedded on the front page of the website as well as another page of the site. That page may be dedicated to news about Australia, for example. Another example is a video that multiple users of a social networking site, such as ORKUT™, have embedded at their profile pages.

FIG. 4 is a screenshot of a web page served from video hosting site 100 that displays a channel of videos popular via embedding at the third-party website shown in FIG. 3, politica.com. The channel shows the third-party website embedding the videos at the top of the page 405. One video is displayed as the “lead” video 401 on the channel. That video can be the one that has had the most views in a predetermined amount of time, for example, the last hour or the last day. This way the video that is currently on the rise in popularity is easily identifiable to users. Alternatively, any other metric can be used to determine the lead video on a channel. To the side of the lead video 401 is a section 415 to browse additional videos 420 that have been categorized as popular on politica.com. As with other channels at video hosting sites 100, a user can choose to subscribe 425 to the channel that is associated with a referrer.

In an alternative embodiment, the channel is created for a group of referring third-party websites that are of the same genre. For example, there could be a sports channel for displaying the videos that are most popular on sportsillustrated.com and espn.com.

FIG. 5 is a screenshot displaying a page where users browse channels 505 dedicated to videos popular via embedding at a number of third-party websites in one embodiment. Note that, in some embodiments, a similar page may exist for individual videos (as opposed to channels). The channels 505 displayed are from all genres 503. Each channel 505 is represented by a video 507 currently being displayed on that channel. The video 507 representing the channel 505 can be the current lead video 401 on the channel 505 or chosen randomly. Selecting one of the videos 507 representing a channel 505 opens the channel 505 for that third-party website and starts to play the representative video 507. The drop-down menu 515 allows users to switch to videos that are popular via embedding at a third-party website. Other options on the drop-down menu include videos that are top rated at the video hosting site 100 or most often listed as “favorite” by users of the video hosting site 100.

FIG. 6 is a screenshot displaying a page where users browse channels 605 dedicated to videos popular via embedding at sports-themed 603 third-party websites. Note that, in some embodiments, a similar page may exist for individual videos (as opposed to channels). Each channel 605 is represented by a video 607 currently being displayed on that channel. The video 607 representing the channel 605 can be the current lead video 401 on the channel 605 or chosen randomly. Selecting one of the videos 607 representing a channel 605 opens the channel 605 for that third-party website and starts to play the representative video 607.

FIG. 7 is a screen shot of videos popular via embedding at a number of third-party websites displayed on a page of other videos. In this embodiment, the page at the video hosting site 100 is a general page of News & Politics 705 videos. Below the display of the lead video 701 is an area 707 for the user to browse videos 715 that are popular via embedding at various third-party websites 717. The videos displayed come from various genres and are embedded at websites of various genres.

In another embodiment, the videos grouped as described previously are available to users via a web feed so that the user does not have to navigate to a website. A web feed is a data format used for providing a summary of contents on a website or a portion of the website. Examples of web feed formats are RSS feed (Really Simple Syndication, RDF Site Summary or Rich Site Summary) and Atom feed. Any web feed format may be used.

Where a user subscribes to a web feed, it is not necessary that the video hosting site 100 have created a channel dedicated to that grouping of videos. A user can subscribe to a web feed of embedded videos at any third-party website. Because the referrer for videos requested via third-party websites is logged, it is possible to provide a web feed for any referrer even if that referrer is not considered popular enough to create a dedicated channel at the video hosting site 100. The web feed would include the most popular videos requested from that third-party website. In another alternative, the user may subscribe to a web feed of the most popular videos requested from multiple third-party websites within a particular genre.

The present invention has been described in particular detail with respect to a limited number of embodiments. Those of skill in the art will appreciate that the invention may additionally be practiced in other embodiments. First, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component. For example, the particular functions of the content server 104 may be provided in many or one module.

Some portions of the above description present the feature of the present invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are the means used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules or code devices, without loss of generality.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the present discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.

Certain aspects of the present invention include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present invention could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.

The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability. 

The invention claimed is:
 1. A method comprising: receiving, on a client device, a first request to view a first window of a graphical user interface (GUI) associated with a video hosting site; displaying, on the client device, the first window of the GUI associated with the video hosting site, the first window including representations of a plurality of third party websites that include embedded videos hosted by the video hosting site; receiving, on the client device, a second request, initiated through the first window of the GUI, to view a second window of the GUI associated with the video hosting site, the second window to present content associated with a third party website from the plurality of third party websites; identifying a plurality of videos hosted by the video hosting site and embedded on the third party website; determining a set of videos of the plurality of videos, wherein each video of the set of videos has at least a predefined number of views that exceed a watched time threshold and a portion of the predefined number of views that originated from the third party website exceeds a third party origination threshold; and displaying, on the client device, the second window of the GUI associated with the video hosting site, the second window including representations corresponding to the set of videos hosted by the video hosting site and embedded on the third party website.
 2. The method of claim 1, wherein a representation of each of the plurality of videos is included on the second window based on a total number of views of the video.
 3. The method of claim 1, further comprising: determining, for each of the plurality of videos, a value based on a total number of views of a respective video and the number of views of the respective video initiated through the third party website, wherein a representation corresponding to the respective video is included in the second window in response to the value exceeding a threshold.
 4. The method of claim 1, wherein each of the plurality of videos is embedded on the third party website via a hyperlink to the video hosting site.
 5. The method of claim 1, wherein the second window indicates that the plurality of videos are embedded on the third party website.
 6. The method of claim 1, wherein a video from the plurality of videos is embedded in a plurality of web pages of the third party website.
 7. The method of claim 1, wherein the first window includes, for each of the plurality of third party websites, an image corresponding to an embedded video on a respective third party website.
 8. The method of claim 7, wherein the embedded video for each of the plurality of third party websites on the first window is related to a genre of the plurality of videos.
 9. A system comprising: a memory; and a processor coupled to the memory, the processor to: receive a first request to view a first window of a graphical user interface (GUI) associated with a video hosting site; display the first window of the GUI associated with the video hosting site, the first window including representations of a plurality of third party websites that include embedded videos hosted by the video hosting site; receive a second request, initiated through the first window of the GUI, to view a second window of the GUI associated with the video hosting site, the second window to present content associated with a third party website from the plurality of third party websites; identify a plurality of videos hosted by the video hosting site and embedded on the third party website; determine a set of videos of the plurality of videos, wherein each video of the set of videos has at least a predefined number of views that exceed a watched time threshold and a portion of the predefined number of views that originated from the third party website exceeds a third party origination threshold; and display the second window of the GUI associated with the video hosting site, the second window including representations corresponding to the set of videos hosted by the video hosting site and embedded on the third party website.
 10. The system of claim 9, wherein a representation of each of the plurality of videos is included on the second window based on a total number of views of the video.
 11. The system of claim 9, the processor further to: determine, for each of the plurality of videos, a value based on a total number of views of a respective video and the number of views of the respective video initiated through the third party website, wherein a representation corresponding to the respective video is included in the second window in response to the value exceeding a threshold.
 12. The system of claim 9, wherein each of the plurality of videos is embedded on the third party website via a hyperlink to the video hosting site.
 13. A non-transitory computer-readable storage medium having computer-executable instructions that, when executed by a processor, cause the processor to: receive on a client device a first request to view a first window of a graphical user interface (GUI) associated with a video hosting site; display on the client device the first window of the GUI associated with the video hosting site, the first window including representations of a plurality of third party websites that include embedded videos hosted by the video hosting site; receive, on the client device, a second request, initiated through the first window of the GUI, to view a second window of the GUI associated with the video hosting site, the second window to present content associated with a third party website from the plurality of third party websites; identify a plurality of videos hosted by the video hosting site and embedded on the third party website; determine a set of videos of the plurality of videos, wherein each video of the set of videos has at least a predefined number of views that exceed a watched time threshold and a portion of the predefined number of views that originated from the third party website exceeds a third part origination threshold; and display, on the client device, the second window of the GUI associated with the video hosting site, the second window including representations corresponding the set of videos hosted by the video hosting site and embedded on the third party website.
 14. The computer-readable storage medium of claim 13, wherein a representation of each of the plurality of videos is included on the second window based on a total number of views of the video.
 15. The computer-readable storage medium of claim 13, the processor further to: determine, for each of the plurality of videos, a value based on a total number of views of a respective video and the number of views of the respective video initiated through the third party website, wherein a representation corresponding to the respective video is included in the second window in response to the value exceeding a threshold.
 16. The computer-readable storage medium of claim 13, wherein each of the plurality of videos is embedded on the third party website via a hyperlink to the video hosting site.
 17. The computer-readable storage medium of claim 13, wherein the second window indicates that the plurality of videos are embedded on the third party website.
 18. The computer-readable storage medium of claim 13, wherein a video from the plurality of videos is embedded in a plurality of web pages of the third party website.
 19. The method of claim 1, wherein each of the representations corresponding to the plurality of videos is displayed on the second window according to a ranking determined based on the number of views initiated through the third party website.
 20. The method of claim 1, wherein the predefined number of views is based on a genre of the plurality of videos. 